//
//  UIButton+Extension.swift
//  SinaWeiBo20
//
//  Created by tarena on 16/3/24.
//  Copyright © 2016年 tarena. All rights reserved.
//

import UIKit

//对UIButton 进行扩展
extension UIButton {
    
    //在分类中 需要使用便利的构造方法  可能实例化一个空对象
    //就是在指定的构造行数基础上 对其进行扩展
    //必须调用指定的构造函数  调用的方式 self.
    //相对于 指定的构造方法
    //构造方法 最大的一个特点 没有返回值
    
    //构造器
    convenience init(title: String, backImage: String,color:UIColor?){
        
        //调用构造方法 实例化
        self.init()
        setTitle(title, forState: .Normal)
        setBackgroundImage(UIImage(named: backImage), forState: .Normal)
        setBackgroundImage(UIImage(named: backImage + "_highlighted"), forState: .Highlighted)
        if color != nil {
            setTitleColor(color, forState: .Normal)
        }
        
    }
    
    
    
   // 实例化一个 有背景视图 + title 的自定义按钮
    
   // - parameter title:         按钮的文案
   // - parameter backImageName: 背景图片
   // - parameter fontSize:      文案的font大小
   // - parameter color:         文案的颜色
    convenience init(title: String,backImageName: String?,fontSize: CGFloat,color: UIColor,imageName: String? = nil) {
        //需要调用本类的指定构造函数  实例化自己
        self.init()
        if imageName != nil {
            setImage(UIImage(named: imageName!), forState: .Normal)
        }
        if backImageName != nil {
            setBackgroundImage(UIImage(named: backImageName!), forState: .Normal)
        }
        
        setTitle(title, forState: .Normal)
        titleLabel?.font = UIFont.systemFontOfSize(fontSize)
        setTitleColor(color, forState: .Normal)
        sizeToFit()
    }
}
